package com.css.dzj.dzjportal.modules.promulgate.service;

import com.css.dzj.dzjportal.modules.promulgate.entity.ApExecutorInfoEntity;
import com.querydsl.core.QueryResults;
import org.springframework.data.domain.PageRequest;

import javax.servlet.http.HttpServletResponse;
import java.util.List;


public interface ApExecutorInfoService {
    /**
     * 查询所有的执法人员信息
     * @return
     */
    QueryResults<ApExecutorInfoEntity> selectAll(PageRequest pageRequest, Integer pageSize, Integer pageNo);
    /**
     * 多条件查询执法人员信息
     * @param executorName
     * @param executorCharacter
     * @param executorArea
     * @param executorCategory
     * @return
     */
    QueryResults<ApExecutorInfoEntity> getSelectInfo(PageRequest pageRequest,
                                                     Integer pageSize,
                                                     Integer pageNo,
                                                     String executorName,
                                                     String executorCharacter,
                                                     String executorArea,
                                                     String executorCategory);
    /**
     *选择导出的执法人员
     * @return
     */
    List<ApExecutorInfoEntity> getIds(String ids);

    /**
     * 多条件查询导出执法人员
     * @param executorName
     * @param executorCharacter
     * @param executorArea
     * @param executorCategory
     * @return
     */
    List<ApExecutorInfoEntity> getalls(String executorName, String executorCharacter,
                                       String executorArea, String executorCategory);
    /**
     * 通过ID查询执法人员信息
     * @param id
     * @return
     */
    ApExecutorInfoEntity getExecutorInfo(String id);

    /**
     * 执法人员导出
     * @param response
     * @param executorEntities
     */
    void exportExecutorToExcel(HttpServletResponse response, List<ApExecutorInfoEntity> executorEntities);
}
